阿里云 云网络cc++研发暑期实习面经

记人生第一次面试
三月份看到学长在群里发了实习生招聘内推，看到有c++岗位，于是抱着试一试的态度写了一个个人简历然后交给了我的学长，第二天面试官就联系我了。 

-------------------------------------------------------------------------------------
3月3日，3月5日 一面 30min 
3月3日面试官打来电话问有没有时间聊一聊，我以为是就聊聊我的个人情况然后约个时间面试，就和面试官唠唠学习情况，聊着聊着开始问我tcp/ip我就感觉不对，然后问了一下是不是已经开始面试了，面试官笑了一下说对呀。我就问能不能约个时间，我还没开始准备
于是开启了为期两天的没日没夜的复习
1.讲讲你简历里这些技术（我写了多线程，epoll，网络编程，信号编程等）平时怎么用的？ 
我讲了一下一个网上视频学的c++服务器框架的主要内容。 
2.知不知道socket通信的具体过程？ 
讲了socket，bind，listen，accept那些，中间穿插了对backlog，SO_REUSERADDR，SO_REUSEPORT以及epoll惊群的理解。 
3.知不知道backlog的默认值是多少？ 
知识盲区，说了不知道
4.知不知道一台服务器能支持最大多少个tcp连接？ 
没考虑过这个问题瞎蒙了一个65535，因为有印象哪里提到过这个数字，后来面试官问我为啥，我说不清楚。这个问题回答的比较差，后来查了一下可打开的最大句柄数有系统级，用户级和shell级限制，每个设置的方法和最大值都不一样（如果不对望各位大佬指正） 
5.你的服务器项目有多少个线程用于处理业务逻辑？如果并发量很大能处理过来吗？ 
我回答说并发量很大但是同时需要处理的业务实际上不多，因为所有连接不会在多少毫秒以内同时发送请求。 
6.接上个问题面试官说，那可不一定，你试想一下天猫每年双十一有数亿的并发量，你觉得需要多少个线程来处理？你觉得天猫是怎么做到数亿并发的？ 
内心os：好家伙，这个我要懂了我还需要实习吗
7.你的服务器项目有没有测最大支持多少并发？ 
视频里的老师测了，但是那个并发测试代码没仔细看过也没有自己实现，就说没有测，然后说了个估计的值。 

反问环节： 
1.部门主要用哪个语言以及做的业务 
2.哪些自己简历上的技术需要深入学习 

-----------------------------------------------------------------------------------------------
3月15日 集团笔试 
一共两道题，不难，但是第一次做太紧张了，看牛客那个例题看了好久才发现不是考试题目 
1. 翻转a和b的二进制位，使a|b=c，求最小翻转次数。 
一开始按照a+b=c在写，还考虑carry位，越写越觉得不对，再审题才发现写错了然后赶紧重写。 
2.切两次蜡烛，求燃烧时间期望。 
也是题目理解错了，整道题做错。 
第一题ac，第二题0% 

------------------------------------------------------------------------------------------------
3月23日 阿里伯乐系统补笔试 
集团笔试成绩不好，面试官又安排了一轮笔试，两道题，不过这个比较简单，大部分是剑指offer简单题的难度，不过看面经也有多线程编程和设计题，取决于面试岗位和面试官。第一次做这个把代码全写注释里去了，后来才发现。 
1. 给两个char* 判断字符串b是否是a的子串匹配 
2. 删除链表倒数第n个节点 

这里有个小提示，对于链表删除节点的问题最好问一下面试官要不要完全删除节点，即释放对应内存，平时做题只是从链表里删除了节点，对应内存还保存数据。 

部门主要用c，这两道题虽然很简单但是自己不常用char*写的时候心里也挺没底的。 

---------------------------------------------------------------------------------------------------
3月29日 二面 26min 
这一面的面试官很忙，就问了一些八股文基础的问题，团队主要用c，关于c++的一律没有问。 
1.毕设 
2.poll和epoll 
3.同步io和异步io 
4.阻塞和非阻塞 
5.linux命令知道哪些 
6.ps -eo stat显示的进程状态有哪些 
7.知不知道僵尸进程以及怎么处理 

最后面试官说这是终面，我当时有点懵，因为看大家都是四面起步，到我这打了两个电话就结束了？？？面试官看我懵了还给我解释了一下什么是终面……这一面很快就结束了，我以为要凉了后来问了一下我一面面试官，他说面试是通过的。 

----------------------------------------------------------------------------------------------------
4月14日 hr面 40min 
由于有时差熬到半夜四点等待最后一战，这一面当成聊天就好，围绕着简历，学业进行提问，结束时没有问我什么时候入职，要实习多久，也没给我介绍部门。面完就觉得是凉了，心态有点崩。睡醒后吃了中午饭收到意向书，算是圆满结束了。 

疫情期间毕设也一直找不到，很多同学回国都实习完回来了，自己还没有进展，压力特别大。感慨这一年自己的努力，去年这时候连c++都还不会，在网上找了很多资料利用业余时间学习c++，计算机通信网，操作系统以及数据结构算法。每天强逼着自己做leetcode每日一题。为了简历有点项目经历专门买了一个做c++服务器的网课跟着学习。一直不知道自己这样坚持有没有回报，老天爷可能也是感动了让我这次面试运气拉满
